import socketio

# 实例化
sio = socketio.Client()


# 默认连接时执行
# @sio.event不适合自定义事件，只适合connect、disconnect;因为不能写namespace
@sio.event
def connect():
    # sio.emit('connect', {'foo': 'bar'})
    print('connection established')

# 连接
sio.connect('http://127.0.0.1:8000', namespaces=['/channel_A'])

# 测试：Emitting Events
# 测试【列表嵌套字典:成功】
# sio.emit('messages', [{'foo': 'bar'}, {'foo': 'bar'}], namespace='/channel_A')
# 测试元组：失败，会把namespace当作参数
# sio.emit('messages', {'foo': 'bar'}, {'foo': 'bar'}, namespace='/channel_A')
# 测试：【列表：成功】
sio.emit('messages', ['foo', 'food'], namespace='/channel_A')
